home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 26 / CU Amiga Magazine's Super CD-ROM 26 (1998)(EMAP Images)(GB)[!][issue 1998-09].iso / CUCD / Utilities / MARInA / Install-Guide / LanguageGuide.rexx < prev    next >
OS/2 REXX Batch file  |  1998-07-12  |  3KB  |  163 lines

  1. /*
  2.   MARInA Installer LanguageGuide
  3.  
  4.   Prepare Settings for Multiview.
  5.   Start the Application Install-Guide in User-Language if available.
  6.  
  7. */
  8.  
  9. PARSE ARG AppName
  10.  
  11. IF EXISTS('ENV:Multiview') THEN
  12. DO
  13.   ADDRESS COMMAND
  14.   'copy ENVARC:MultiView ENVARC:MultiView.bak CLONE ALL QUIET'
  15.   'copy ENV:MultiView ENV:MultiView.bak CLONE ALL QUIET'
  16. END
  17.  
  18.   ADDRESS COMMAND
  19.   'copy /SYS/Inst_Guide SYS: CLONE ALL QUIET'
  20.   'copy /SYS/Inst_Guide/Prefs/ENV-Archive ENV: CLONE ALL QUIET'
  21.  
  22.  
  23. /* --------------- */
  24. StartGuide:
  25.  
  26.  CALL GetLanguage
  27.  
  28.  CurrentDir = MyGetENV('ACTUALINSTALL')
  29.  Result = PRAGMA('DIRECTORY', CurrentDir)
  30.  
  31.  Pos=POS('Install-Guide', CurrentDir)
  32.  RootPath=LEFT(CurrentDir,Pos-1)
  33.  ADDRESS COMMAND 'setenv RootPath 'RootPath
  34.  
  35.  InstallPath=RootPath'Install-Guide/'
  36.  ViewPort = 'INST_'UPPER(AppName)
  37.  
  38.  Cmd='run >NIL: c/MultiView 'InstallPath''Language'/'AppName'.ILBM PORTNAME' ViewPort
  39.  ADDRESS COMMAND Cmd
  40.  
  41.  DO i=1 to 8
  42.    ADDRESS COMMAND 'c/wait 2'
  43.    IF ~SHOW('P',ViewPort) THEN LEAVE
  44.  END
  45.  
  46.  IF SHOW('P',ViewPort) THEN
  47.   DO
  48.      ADDRESS VALUE ViewPort
  49.      'QUIT'
  50.   END
  51.  
  52.  ADDRESS COMMAND
  53.  'c/MultiView 'InstallPath''Language'/Installation1.txt PORTNAME 'ViewPort'1'
  54.  'c/MultiView 'InstallPath''Language'/'AppName'_intro.Guide PORTNAME 'ViewPort
  55.  'c/MultiView 'InstallPath''Language'/Installation2.txt PORTNAME 'ViewPort'2'
  56.  'c/MultiView 'InstallPath''Language'/Installation3.txt PORTNAME 'ViewPort'3'
  57.  
  58.  IF EXISTS('ENV:Multiview.bak') THEN
  59.   DO
  60.    ADDRESS COMMAND
  61.    'c/delete ENVARC:MultiView ALL QUIET'
  62.    'c/rename ENVARC:MultiView.bak ENVARC:MultiView'
  63.    'c/delete ENV:MultiView ALL QUIET'
  64.    'c/rename ENV:MultiView.bak ENV:MultiView'
  65.   END
  66.  ELSE
  67.   DO
  68.    ADDRESS COMMAND
  69.    'c/delete ENV:MultiView ALL QUIET'
  70.    'c/delete ENVARC:MultiView ALL QUIET'
  71.   END
  72.  
  73. EXIT 0
  74.  
  75.  
  76. /*----------------------------------------------------------------*/
  77. MyGetENV:     PROCEDURE
  78.  PARSE ARG name
  79.  
  80.  TheFile = "ENV:" || name
  81.  IF (open(TEMPFILE, TheFile, 'read')) THEN
  82.    DO
  83.       ENVvalue = READLN(TEMPFILE)
  84.       Closed = close(TEMPFILE)
  85.    END
  86.  ELSE
  87.    DO
  88.       ENVvalue = "NOTHING"
  89.    END
  90.  
  91. RETURN ENVvalue
  92.  
  93. /*----------------------------------------------------------------*/
  94. GetLanguage:
  95.  
  96. LanguageNumber = 1      /* Presets */
  97. Language = ''
  98.  
  99. IF (open(TEMPFILE, 'ENV:sys/locale.prefs', 'read')) THEN
  100.  DO
  101.    DO i = 1 to 50
  102.        r = READCH(TEMPFILE)
  103.    END
  104.  
  105.    Land = ''
  106.  
  107.    i=0
  108.    DO UNTIL EOF(TEMPFILE)
  109.        i = i+1
  110.        Char = ReadCh(TEMPFILE)
  111.        IF (C2D(Char) = 0) THEN
  112.            LEAVE
  113.        ELSE
  114.            Land = Land''Char
  115.    END
  116.  
  117.    /* 32 characters from begin of Lang_x to begin of Lang_y */
  118.    DO j = i to 31 UNTIL EOF(TEMPFILE)
  119.     r = READCH(TEMPFILE)
  120.    END
  121.  
  122.    Language = ReadLanguage()
  123.    r = Close(TEMPFILE)
  124.  END
  125.  
  126.  IF (Language='') THEN Language = 'english'
  127.  
  128.  drop Char
  129.  drop r
  130.  
  131.  RealLanguage=Language
  132.  ADDRESS COMMAND 'setenv LANGUAGE 'RealLanguage
  133.  
  134.  IF ~EXISTS(Language'/'AppName'_intro.guide') THEN Language = 'english'
  135.  
  136.  
  137. RETURN
  138.  
  139. /*----------------------------------*/
  140. ReadLanguage:
  141.  
  142.  Langua = ''
  143.  
  144.  Langua = ReadCh(TEMPFILE)
  145.  IF (C2D(Langua)=0) THEN RETURN ''
  146.  
  147.  i=1
  148.  DO UNTIL EOF(TEMPFILE)
  149.     i=i+1
  150.     Char = ReadCh(TEMPFILE)
  151.     IF (C2D(Char)=0) THEN
  152.       LEAVE
  153.     ELSE
  154.       Langua = Langua''Char
  155.  END
  156.  
  157.  /* 30 characters from begin of Lang_x to begin of Lang_y */
  158.  DO j = i to 29 UNTIL EOF(TEMPFILE)
  159.     r = READCH(TEMPFILE)
  160.  END
  161.  
  162. RETURN Langua
  163.